<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
让大家快速了解TOP的接入流程，以及开发中的要点。 <br />
<hr />
<div align="center">TOP简明开发手册 <br />
</div>
  
<br />
<br />
一、什么是淘宝开放平台？ <br />
<br />
  
<br />
<br />
淘宝开放平台，是指由淘宝网提供的，面向第三方的开放式电子商务服务基础服务框架。其主要内容包括：以OpenAPI形式开放的淘宝网电子商务基础服务、淘宝网自有的开放式应用平台、对第三方应用平台的开放式基础支持。 <br />
英文全称是“Taobao Open Platform”, 简写为“<strong>TOP</strong>”。<a href="http://wiki.open.taobao.com/index.php/æ»ä½ä»ç»" target="_blank">点击详细</a> <br />
<br />
  
<br />
<br />
二、我们可以用TOP来做什么？ <br />
<br />
  
<br />
<br />
“没有做不到，只有想不到”可以做的很多，充分发挥你的想象吧！ <br />
<br />
  
<br />
<br />
<img src="http://wiki.open.taobao.com/images/thumb/4/44/%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0.jpg/787px-%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0.jpg" alt="2" width="700" border="0" onclick="if(this.width&gt;=700) window.open('http://wiki.open.taobao.com/images/thumb/4/44/%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0.jpg/787px-%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0.jpg');" onload="if(this.width&gt;'700')this.width='700';if(this.height&gt;'700')this.height='700';" /> <br />
<br />
  
<br />
<br />
三、开发TOP应用的流程 <br />
<br />
  
<br />
<br />
淘宝开放平台接入主要分为以下步骤—— <br />
<br />
3个大步骤： <br />
开发、测试、发布 <br />
7个子步骤： <br />
1、成为开发者， <br />
2、申请一个应用， <br />
3、测试环境下开发， <br />
4、支付宝绑定认证， <br />
5、正式环境下测试， <br />
6、申请发布， <br />
7、正式发布。<a href="http://wiki.open.taobao.com/index.php/å¿«éä¸æ" target="_blank">点击详情</a> <br />
  
<br />
<br />
<div align="left">四、如何开发TOP应用？（以开发B/S模式为例） <br />
</div>
<div align="left">  <br />
</div>
<div align="left">下面我们以淘宝客的接口为例进行开发，希望大家举一反三，把方法学会。 <br />
</div>
<div align="left">第一步，申请创建一个TOP应用，如果不会，这里有教程，对着操作就可以了，<a href="http://open.taobao.com/bbs/read.php?tid=3032" target="_blank">http://open.taobao.com/bbs/read.php?tid=3032</a> <br />
  注意：一行一行的看，必须仔细，不然你以后问题多多就不好解决了。 <br />
</div>
  
<br />
<br />
第二步，进行开发测试（以PHPdemo代码为例） <br />
让我们看下文档：<a href="http://wiki.open.taobao.com/index.php/API2.0:Taobao.taobaoke.items.get" target="_blank">http://wiki.open.taobao.com/index.php/API2.0:Taobao.taobaoke.items.get</a> <br />
<br />
在这里我们需要知道的是 <br />
<br />
接口名称 <br />
<br />
taobao.taobaoke.items.get（查询淘宝客推广商品） <br />
<br />
<div align="left">API系统级参数http://wiki.open.taobao.com/index.php/API%E7%B3%BB%E7%BB%9F%E7%BA%A7%E8%BE%93%E5%85%A5%E5%8F%82%E6%95%B0%E5%AE%9A%E4%B9%89 <br />
</div>
API应用级输入参数 <br />
<br />
<table>
  <tbody>
    <tr>
      <td><strong>参数名称</strong> <br />
          <br /></td>
      <td><strong>类型</strong><br />
          <br /></td>
      <td><strong>是否必需</strong> <br />
          <br /></td>
      <td><strong>描述</strong> <br />
          <br /></td>
    </tr>
    <tr>
      <td>fields <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>Y <br />
          <br /></td>
      <td>需返回的字段列表.可选值:<a href="http://wiki.open.taobao.com/index.php/API2.0:TaobaokeItem" target="_blank">TaobaokeItem</a>淘宝客商品结构体中的所有字段;字段之间用&quot;,&quot;分隔. <br />
          <br /></td>
    </tr>
    <tr>
      <td>nick <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>Y <br />
          <br /></td>
      <td>淘宝用户昵称.如果昵称错误,那么客户就收不到佣金.每个淘宝昵称都对应于一个pid，在这里输入要结算佣金的淘宝昵称，当推广的商品成功后，佣金会打入此输入的淘宝昵称的账户。具体的信息可以登入阿里妈妈的网站查看. <br />
          <br /></td>
    </tr>
    <tr>
      <td>keyword <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td><a href="http://wiki.open.taobao.com/index.php/N" target="_blank">[/url] <br />
            <br />
      </a></td>
      <td>商品标题中包含的关键字. 注意:查询时keyword,cid至少选择其中一个参数 <br />
          <br /></td>
    </tr>
    <tr>
      <td>cid <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>[url=http://wiki.open.taobao.com/index.php/N] <br />
          <br /></td>
      <td>商品所属分类id <br />
          <br /></td>
    </tr>
    <tr>
      <td>start_price <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>起始价格.传入价格参数时,需注意起始价格和最高价格必须一起传入,并且 start_price &lt;= end_price <br />
          <br /></td>
    </tr>
    <tr>
      <td>end_price <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>最高价格 <br />
          <br /></td>
    </tr>
    <tr>
      <td>auto_send <br />
          <br /></td>
      <td>Boolean <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>是否自动发货 <br />
          <br /></td>
    </tr>
    <tr>
      <td>area <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>商品所在地 例如:杭州市 <br />
          <br /></td>
    </tr>
    <tr>
      <td>start_credit <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>卖家信用: <br />
          <ul>
            <em>1heart</em>(一心) <br />
            <em>2heart </em>(两心) <br />
            <em>3heart</em>(三心) <br />
            <em>4heart</em>(四心) <br />
            <em>5heart</em>(五心) <br />
            <em>1diamond</em>(一钻) <br />
            <em>2diamond</em>(两钻) <br />
            <em>3diamond</em>(三钻) <br />
            <em>4diamond</em>(四钻) <br />
            <em>5diamond</em>(五钻) <br />
            <em>1crown</em>(一冠) <br />
            <em>2crown</em>(两冠) <br />
            <em>3crown</em>(三冠) <br />
            <em>4crown</em>(四冠) <br />
            <em>5crown</em>(五冠) <br />
            <em>1goldencrown</em>(一黄冠) <br />
            <em>2goldencrown</em>(二黄冠) <br />
            <em>3goldencrown</em>(三黄冠) <br />
            <em>4goldencrown</em>(四黄冠) <br />
            <em>5goldencrown</em>(五黄冠) <br />
          </ul></td>
    </tr>
    <tr>
      <td>end_credit <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>可选值和start_credit一样.start_credit的值一定要小于end_credit的值. <br />
          <br /></td>
    </tr>
    <tr>
      <td>sort <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>默认排序:default <br />
          <ul>
            <em>price_desc</em>(价格从高到低) <br />
            <em>price_asc</em>(价格从低到高) <br />
            <em>credit_desc</em>(信用等级从高到低) <br />
            <em>commissionRate_desc</em>(佣金比率从高到底) <br />
            <em>commissionRate_asc</em>(佣金比率从低到高) <br />
            <em>commissionNum_desc</em>(成交量成高到低) <br />
            <em>commissionNum_asc</em>(成交量从低到高) <br />
            <em>commissionVolume_desc</em>(总支出佣金从高到底) <br />
            <em>commissionVolume_asc</em>(总支出佣金从低到高) <br />
            <em>delistTime_desc</em>(商品下架时间从高到底) <br />
            <em>delistTime_asc</em>(总支出佣金从低到高) <br />
          </ul></td>
    </tr>
    <tr>
      <td>is_guarantee <br />
          <br /></td>
      <td>Boolean <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>是否查询消保卖家 true/false <br />
          <br /></td>
    </tr>
    <tr>
      <td>start_commissionRate <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>起始佣金比率选项 <br />
          <br /></td>
    </tr>
    <tr>
      <td>end_commissionRate <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>最高佣金比率选项 <br />
          <br /></td>
    </tr>
    <tr>
      <td>start_commissionNum <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>起始累计推广量选项.注：返回的数据是30天内累计推广量 <br />
          <br /></td>
    </tr>
    <tr>
      <td>end_commissionNum <br />
          <br /></td>
      <td>String <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>最高累计推广量选项 <br />
          <br /></td>
    </tr>
    <tr>
      <td>page_no<br />
          <br /></td>
      <td>Number <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>结果页数.1~99 <br />
          <br /></td>
    </tr>
    <tr>
      <td>page_size <br />
          <br /></td>
      <td>Number <br />
          <br /></td>
      <td>N <br />
          <br /></td>
      <td>每页返回结果数.最大每页40 <br />
          <br /></td>
    </tr>
  </tbody>
</table>
  
<br />
<br />
调用接口环境地址 <br />
<br />
测试环境地址：http://gw.api.tbsandbox.com/router/rest <br />
正式环境地址：http://gw.api.taobao.com/router/rest <br />
注意：这里我们使用的是测试环境地址 <br />
<br />
  
<br />
<br />
看完文档后，我们来看下PHPdemo的代码。 <br />
刚才在教程中下载的phpDemo，包含两个文件taobaoke_demo.php和util.php <br />
taobaoke_demo.php主要是完成调用API读取数据和显示数据。 <br />
util.php主要是签名和解析用。 <br />
这里我们需要看的是taobaoke_demo.php中的代码。 <br />
<div align="left">&lt;?php <br />
</div>
<div align="left">header(&quot;Content-Type:text/html;charset=UTF-8&quot;);//统一charset=utf-8，防止混码出现乱码 <br />
</div>
<div align="left">require_once 'util.php'; //引入util.php <br />
</div>
<div align="left">  <br />
</div>
<div align="left">$appKey = 'test';//申请到的APPkey <br />
</div>
<div align="left">$appSecret = 'test';//申请到的APPSecret <br />
</div>
<div align="left">  <br />
</div>
<div align="left">//参数数组 <br />
</div>
<div align="left">$paramArr = array( <br />
</div>
<div align="left">    'app_key' =&gt; $appKey, //TOP分配给应用的AppKey <br />
</div>
<div align="left">    'method' =&gt; 'taobao.taobaoke.items.get', //API接口名称 <br />
</div>
<div align="left">    'format' =&gt; 'xml', //可选，指定响应格式。默认xml,目前支持格式为xml,json <br />
</div>
<div align="left">    'v' =&gt; '2.0', //API协议版本，可选值:1.0,2.0。某些新的api可能只有2.0版本。 <br />
</div>
<div align="left">    'timestamp' =&gt; date('Y-m-d H:i:s'), //时间戳，格式为yyyy-mm-dd hh:mm:ss <br />
</div>
<div align="left">    'fields' =&gt; 'iid,title,nick,pic_url,price,click_url', //需返回的字段列表. <br />
</div>
<div align="left">    'nick' =&gt; 'alipublic01',//淘宝用户昵称.如果昵称错误,那么客户就收不到佣金.每个淘宝昵称都对应于一个pid，在这里输入要结算佣金的淘宝昵称，当推广的商品成功后，佣金会打入此输入的淘宝昵称的账户。具体的信息可以登入阿里妈妈的网站查看. <br />
</div>
<div align="left">    'cid' =&gt; 1512//商品所属分类id <br />
</div>
<div align="left">); <br />
</div>
<div align="left">  <br />
</div>
<div align="left">//生成签名 <br />
</div>
<div align="left">$sign = createSign($paramArr); <br />
</div>
<div align="left">  <br />
</div>
<div align="left">//组织参数 <br />
</div>
<div align="left">$strParam = createStrParam($paramArr); <br />
</div>
<div align="left">$strParam .= 'sign='.$sign; <br />
</div>
<div align="left">  <br />
</div>
<div align="left">//访问服务 <br />
</div>
<div align="left">$url = 'http://gw.api.tbsandbox.com/router/rest?'.$strParam; <br />
</div>
<div align="left">$result = file_get_contents($url);//获取数据 <br />
</div>
<div align="left">$result = getXmlData($result);//解析数据 <br />
</div>
<div align="left">  <br />
</div>
<div align="left">$taobaokeItem = $result['taobaoke_items']['taobaoke_item']; <br />
</div>
<div align="left">?&gt; <br />
</div>
<div align="left">&lt;b&gt;此DEMO的功能：查询手机类的淘客商品&lt;/b&gt; <br />
</div>
<div align="left">&lt;br&gt;&lt;br&gt; <br />
</div>
<div align="left">&lt;table border=<em>&quot;1&quot;</em> width=<em>&quot;100%&quot;</em>&gt; <br />
</div>
<div align="left">    &lt;tr&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            淘客商品ID <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            商品名称 <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            卖家昵称 <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            商品价格 <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            商品图片 <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            推广点击URL <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">    &lt;/tr&gt; <br />
</div>
<div align="left">    &lt;?php <br />
</div>
<div align="left">        foreach ($taobaokeItem as $key =&gt; $val) { <br />
</div>
<div align="left">    ?&gt; <br />
</div>
<div align="left">    &lt;tr&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            &lt;?php echo $val['iid'];?&gt; <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            &lt;?php echo $val['title'];?&gt; <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            &lt;?php echo $val['nick'];?&gt; <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            &lt;?php echo $val['price'];?&gt; <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            &lt;a href=&quot;&lt;?php echo $val['pic_url'];?&gt;&quot; target=<em>&quot;_blank&quot;</em>&gt;商品图片&lt;/a&gt; <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">        &lt;td align=<em>&quot;center&quot;</em>&gt; <br />
</div>
<div align="left">            &lt;a href=&quot;&lt;?php echo $val['click_url'];?&gt;&quot; target=<em>&quot;_blank&quot;</em>&gt;推广链接&lt;/a&gt; <br />
</div>
<div align="left">        &lt;/td&gt; <br />
</div>
<div align="left">    &lt;/tr&gt; <br />
</div>
<div align="left">    &lt;?php <br />
</div>
<div align="left">        } <br />
</div>
<div align="left">    ?&gt; <br />
</div>
<div align="left">&lt;/table&gt; <br />
</div>
大家把taobao.taobaoke.items.get接口的文档与上边的PHP代码结合着看，会比较容易理解，有一些开发者接口文档都不去看就直接上来看代码，搞的是一头雾水，实际上文档上都能找到答案的。 <br />
所以，在开发前一定要把文档看一遍，这样需要开发应用时候，用到什么接口做到心里有数。 <br />
    
开发就是这样简单，先对着例子去做，然后多尝试，多实践，就能很快掌握。 <br />
<br />
  
<br />
<br />
<br />
<br />
<hr />
<br />
<br />
如果大家有什么TOP上的开发问题可以告诉我们，我们再做详细的讲解。 <br />
TOP开发者语音群（YY群号116198361），每周五晚8点至9点开放语音交流频道，如果你们有TOP上的开发疑问，可以先把问题想好，我们可以在线集中解答。 <br />
<br />
常见问题总结. <br />
1.       如何获取SessionKey？ <br />
<a href="http://wiki.open.taobao.com/index.php/å¦ä½åå¾sessionï¼" target="_blank">http://wiki.open.taobao.com/index.php/%E5%A6%82%E4%BD%95%E5%8F%96%E5%BE%97session%EF%BC%9F</a><br />
2.       SessionKey有效期？ <br />
SessionKey是有有效期的，TOP分配的SessionKey的有效期默认为30分钟，如果应用在此期间内使用该SessionKey访问过OpenAPI，则SessionKey的有效期会顺延30分钟。<br />
3.       应用申请时候如何选择应用类型？<br />
如果做网页形式的选择B/S，如果做软件形式的选择C/S。<br />
4.       实名认证问题？ <br />
<a href="http://open.taobao.com/bbs/read.php?tid=959" target="_blank">http://open.taobao.com/bbs/read.php?tid=959</a><br />
5.       关于API流量的控制 <br />
<a href="http://wiki.open.taobao.com/index.php/æµéè§å" target="_blank">http://wiki.open.taobao.com/index.php/%E6%B5%81%E9%87%8F%E8%A7%84%E5%88%99</a><br />
6.       关于自用和非自用型应用的解释 <br />
<a href="http://open.taobao.com/bbs/read.php?tid=4612" target="_blank">http://open.taobao.com/bbs/read.php?tid=4612</a><br />
7.       非自用型应用未实现免登录？ <br />
<a href="http://open.taobao.com/bbs/read.php?tid=4161" target="_blank">http://open.taobao.com/bbs/read.php?tid=4161</a><br />
8.       App Key和App Secret是什么？<br />
App Key是应用的唯一标识，TOP通过App Key来鉴别应用的身份。AppSecret是TOP给应用分配的密钥，开发者需要妥善保存这个密钥，这个密钥用来保证应用来源的的可靠性，防止被伪造。App Key和App Secret的申请可以参考<a href="http://wiki.open.taobao.com/index.php/ç³è¯·æä¸ºå¼åè" target="_blank">申请成为开发者</a>和<a href="http://wiki.open.taobao.com/index.php/ç³è¯·ä¸ä¸ªæ°åºç¨" target="_blank">申请一个新应用</a>  <br />
9.       什么是用户的nick呀？<br />
就是登录淘宝的用户名 <br />
10.   商品与产品有什么区别? <br />
产品是标准化的商品，通过类目+关键属性可以唯一识别、确定一个产品。以手机为例，诺基亚N78 那该款手机的大部分属性就确定下来了，款式，屏幕，颜色等等，<br />
那用户在发布该款商品的时候，大部分属性就不需要在输入了。淘宝把商品的标准属性的集合，称之为产品。<br />
11.   回调URL是什么？如何填写？ 回调URL是用来获取回调数据的，要填写应用获取数据的网址。<br />
12.   API接口调用的频率？ <a href="http://wiki.open.taobao.com/index.php/é¢çéå¶" target="_blank">http://wiki.open.taobao.com/index.php/%E9%A2%91%E7%8E%87%E9%99%90%E5%88%B6</a><br />
13.   应用审核相关问题？ <a href="http://wiki.open.taobao.com/index.php/å®¡æ ¸è§å" target="_blank">http://wiki.open.taobao.com/index.php/%E5%AE%A1%E6%A0%B8%E8%A7%84%E5%88%99</a><br />
14.   回调后通过上下文协议验证签名？ <br />
<a href="http://wiki.open.taobao.com/index.php/åºç¨ä¸ä¸æåè®®" target="_blank">http://wiki.open.taobao.com/index.php/%E5%BA%94%E7%94%A8%E4%B8%8A%E4%B8%8B%E6%96%87%E5%8D%8F%E8%AE%AE</a><br />
<br />
欢迎各路开发者加入交流【语音群可容纳1万人-并且可以分组讨论-找到相同的问题共同解决】。
</body>
</html>
